//
//  main.m
//  NSCalendar
//
//  Created by wenjim on 17/10/25.
//  Copyright © 2017年 WenJim. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    
    // 1.获取当前时间的年月日时分秒
    /*
    // 获取当前时间
    NSDate * now = [NSDate date];
    NSLog(@"now = %@",now);
    
    // 日历
    NSCalendar * calendar = [NSCalendar currentCalendar];
    
    // 利用日历类从当前时间对象中获取 年月日时分秒(单独获取出来)
    // components：参数的含义是，问你需要获取什么？
//    NSDateComponents * cmps = [calendar components:NSCalendarUnitYear fromDate:now];
    
    // 一般情况下，如果一个方法接受一个参数，这个参数是一个枚举，那么可以通过 ｜ 符号，连接多个枚举值
    NSCalendarUnit type = NSCalendarUnitYear |
                          NSCalendarUnitMonth |
                          NSCalendarUnitDay |
                          NSCalendarUnitHour|
                          NSCalendarUnitMinute |
                          NSCalendarUnitSecond;
    NSDateComponents * cmps = [calendar components:type fromDate:now];
    NSLog(@"year = %ld,month = %ld, day = %ld,hour = %ld,minute = %ld,second = %ld",cmps.year,cmps.month,cmps.day,cmps.hour,cmps.minute,cmps.second);
    */
    
    // 2. 比较两个时间的差值，比较相差多少年多少月多少日多少小时多少分钟多少秒
    
    // 2.1 过去的一个时间
    NSString * str = @"2017-10-25 12:52:05 +0000";
    NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
    formatter.dateFormat = @"yyyy-MM-dd HH-mm-ss z";
    NSDate * date = [formatter dateFromString:str];
    NSLog(@"过去的时间: %@",date);
    // 2.2当前的时间
    NSDate * now = [NSDate date];
    NSLog(@"现在的时间：%@",now);
    // 2.3 比较两个时间
    NSCalendar * calendar = [NSCalendar currentCalendar];
    
    NSCalendarUnit type = NSCalendarUnitYear |
    NSCalendarUnitMonth |
    NSCalendarUnitDay |
    NSCalendarUnitHour|
    NSCalendarUnitMinute |
    NSCalendarUnitSecond;
    
    NSDateComponents * cmps = [calendar components:type fromDate:date toDate:now options:0];
    
    NSLog(@"%ld年%ld月%ld日 %ld时%ld分%ld秒",cmps.year,cmps.month,cmps.day,cmps.hour,cmps.minute,cmps.second);
    
    return 0;
}
